home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / answers / comp / linux / howto / news < prev    next >
Internet Message Format  |  1994-03-15  |  31KB

  1. Path: bloom-beacon.mit.edu!hookup!europa.eng.gtefsd.com!emory!news-feed-2.peachnet.edu!concert!bigblue.oit.unc.edu!sunSITE!mdw
  2. From: vince@victrola.wa.com (Vince Skahan)
  3. Newsgroups: comp.os.linux.announce,comp.os.linux.admin,comp.answers,news.answers
  4. Subject: Linux News HOWTO
  5. Followup-To: poster
  6. Date: 16 Mar 1994 05:27:44 GMT
  7. Organization: The University of North Carolina at Chapel Hill
  8. Lines: 803
  9. Approved: linux-announce@tc.cornell.edu (Matt Welsh)
  10. Message-ID: <2m65cg$e17@bigblue.oit.unc.edu>
  11. Reply-To: vince@victrola.wa.com (Vince Skahan)
  12. NNTP-Posting-Host: calzone.oit.unc.edu
  13. Originator: mdw@sunSITE
  14. Xref: bloom-beacon.mit.edu comp.os.linux.announce:1955 comp.os.linux.admin:5616 comp.answers:4185 news.answers:16454
  15.  
  16. Archive-name: linux/howto/news
  17. Last-modified:  26 January 1994 
  18.  
  19. The Linux News HOWTO
  20. by Vince Skahan, <vince@victrola.wa.com>
  21. v1.6, Last Modified 26 January 1994
  22. ---------------------------------------------------------------------------
  23.  
  24. This document describes the setup and care+feeding of USENET News under
  25. Linux.
  26.  
  27. You need to read this if you plan to post or read USENET news either
  28. locally on your site or between your site and other sites.
  29.  
  30. You probably do *not* need to read this document if don't plan to provide
  31. USENET news as a feature of your system.
  32.  
  33.  
  34. 0.  Introduction
  35.  
  36. The intent of this document is to answer some of the questions and comments
  37. that appear to meet the definition of 'frequently asked questions' about
  38. USENET News software under Linux in general, and the version in the Linux
  39. SLS distribution in particular.
  40.  
  41. This document and the corresponding Mail and UUCP 'HOWTO' documents
  42. collectively supersede the UUCP-NEWS-MAIL-FAQ that has previously been
  43. posted to comp.os.linux.announce.
  44.  
  45.  
  46. 0.1 New versions of this document
  47.  
  48.     New versions of this document will be periodically posted to
  49.     comp.os.linux.announce, comp.answers, and news.answers.  They will
  50.     also be added to the various anonymous ftp sites who archive such
  51.     information including sunsite.unc.edu:/pub/Linux/docs/HOWTO.
  52.  
  53.  
  54. 0.2 Feedback
  55.  
  56.     I am interested in any feedback, positive or negative, regarding
  57.     the content of this document via e-mail.  Definitely contact me if
  58.     you find errors or obvious omissions.
  59.  
  60.     I read, but do not necessarily respond to, all e-mail I receive.
  61.     Requests for enhancements will be considered and acted upon based on
  62.     that day's combination of available time, merit of the request, and
  63.     daily blood pressure :-)
  64.  
  65.     Flames will quietly go to /dev/null so don't bother.
  66.  
  67.     Feedback concerning the actual format of the document should go to
  68.     the HOWTO coordinator - Matt Welsh (mdw@sunsite.unc.edu).
  69.  
  70. 0.3 Copyright Information
  71.  
  72.     The News-HOWTO is copyrighted (c)1994 Vince Skahan.
  73.  
  74.     A verbatim copy may be reproduced or distributed in any medium physical
  75.     or electronic without permission of the author.  Translations are
  76.     similarly permitted without express permission if it includes a notice
  77.     on who translated it.
  78.  
  79.     Short quotes may be used without prior consent by the author.
  80.     Derivative work and partial distributions of the News-HOWTO must be
  81.     accompanied with either a verbatim copy of this file or a pointer to
  82.     the verbatim copy.
  83.  
  84.     Commercial redistribution is allowed and encouraged; however, the
  85.     author would like to be notified of any such distributions.
  86.  
  87.     In short, we wish to promote dissemination of this information through
  88.     as many channels as possible. However, we do wish to retain copyright
  89.     on the HOWTO documents, and would like to be notified of any plans to
  90.     redistribute the HOWTOs.
  91.  
  92.     We further want that ALL information provided in the HOWTOS is
  93.     disseminated. If you have questions, please contact Matt Welsh, the
  94.     Linux HOWTO coordinator, at mdw@sunsite.unc.edu, or +1 607 256 7372.
  95.  
  96.  
  97. 0.4 Standard Disclaimer
  98.  
  99.         Of course, I disavow any potential liability for the contents of this
  100.         document.  Use of the concepts, examples, and/or other content of this
  101.         document is entirely at your own risk.
  102.  
  103.  
  104. 0.5 Other sources of information
  105.  
  106.     USENET:
  107.     =======
  108.     news.admin.misc        General topics of network news administration.
  109.     news.admin.policy    Policy issues of USENET.
  110.     news.admin.technical    Maintaining network news. (Moderated)
  111.     news.software.b        Discussion about B-news-compatible software.
  112.     news.software.nn    Discussion about the "nn" news reader package.
  113.     news.software.nntp    The Network News Transfer Protocol.
  114.     news.software.readers    Software used to read network news.
  115.     news.sysadmin        Comments directed to system administrators.
  116.     news.announce.newusers    Explanatory postings for new users. (Moderated)
  117.     news.newusers.questions    Q & A for users new to the Usenet.
  118.  
  119.     Books:
  120.     ======
  121.  
  122.     The following is a non-inclusive set of books that will help...
  123.  
  124.     'Managing UUCP and USENET' published by O'Reilly+Associates is in
  125.     my opinion the best book out there for figuring out the programs
  126.     and protocols involved in being a USENET site.
  127.  
  128.     'Unix Communications' published by The Waite Group contains a nice
  129.     description of all the pieces (and more) and how they fit together.
  130.  
  131.     'Practical Unix Security' published by O'Reilly+Associates has a
  132.     nice discussion of how to secure UUCP in general.
  133.  
  134.     'The Internet Complete Reference' from Osborne is a fine reference book
  135.     that explains the various services available on Internet and is a great
  136.     "one-stop-shopping" source for information on news, mail, and various
  137.     other Internet resources.
  138.  
  139.  
  140. 0.6 Where *NOT* to look for help
  141.  
  142.     There is nothing 'special' about configuring and running USENET
  143.     news under Linux (any more).  Accordingly, you almost certainly do
  144.     *NOT* want to be posting generic news-related questions to the
  145.     comp.os.linux.* newsgroups.
  146.  
  147.     Unless your posting is truly Linux-specific (ie, "please tell me
  148.     what patches are needed to run INN with the bash1.12 in SLS v1.03)
  149.     you should be asking your questions in the newsgroups mentioned above.
  150.  
  151.     Let me repeat that.
  152.  
  153.     There is virtually no reason to post anything news-related in the
  154.     comp.os.linux hierarchy any more.  There are existing newsgroups in
  155.     the news.* hierarchy to handle *ALL* your questions.
  156.  
  157.  
  158. 1.0 Hardware Requirements
  159.  
  160.     There are no specific hardware requirements for USENET News under
  161.     Linux.  The only requirement of any type is sufficient disk space
  162.     to hold the software itself, the threads database(s), and the
  163.     amount of news you wish to keep on the system.  Figure on a minimum
  164.     of 10 MB of disk space for starters.
  165.  
  166.  
  167. 2.0 Getting USENET News software 
  168.  
  169.     All the software referenced in this 'HOWTO' is available on the usual
  170.     Internet anonymous ftp sites.  
  171.  
  172.     Looking in /news on ftp.uu.net is usually a good way to start.
  173.  
  174.     The newspak-2.0.tar.z distribution contains config files and readme
  175.     files related to building uucp, news, and mail software under Linux
  176.     from the various freely-available sources.  It can usually be found 
  177.     on sunsite.unc.edu in the directory /pub/Linux/system/Mail.
  178.  
  179.  
  180. 3.0 News Transport Software
  181.  
  182.     There are two main sets of news 'transport' software for *nix these
  183.     days, Cnews and INN.  The old 'Bnews' has been declared officially
  184.     dead and unsupported by its authors.
  185.  
  186.     News 'transport' is defined here to be the software that works behind
  187.     the scenes to post and propagate the news articles as well as making
  188.     the articles available for the newsreaders to access.
  189.  
  190.     You can set your paths to anything you like, as long as UUCP has the
  191.     absolute path to rnews in the Permissions file and as long as you
  192.     have your newsreaders configured so that they can find 'inews' and
  193.     'mail'.
  194.  
  195.     Important - you're asking for trouble if you try to intermix Cnews
  196.     and INN.  Pick one or the other.  It's ok to add the NNTP 'Reference
  197.     Release' into Cnews since they're intended to play well together.
  198.  
  199.  
  200. 3.1 Cnews Performance Release
  201.  
  202.     The current de-facto standard news software is Cnews.  It has been
  203.     around for a number of years, I first saw it sometime around 1988.
  204.  
  205.     Cnews's main benefit is its maturity.  It runs on about every *nix
  206.     you can find and there are literally thousands of systems running
  207.     it worldwide.
  208.  
  209.     Its main disadvantage is that it seems to have been intended for
  210.     uucp-over-modem connections between sites and as such requires 
  211.     the addition of NNTP software to handle realtime Internet feeds
  212.     and reading.  
  213.  
  214.     In addition, it requires external threading packages for the
  215.     various newsreaders, although the NOV package can now be hooked in
  216.     to help somewhat and it's rumored to have native NOV support in the
  217.     upcoming 'cleanup' release.
  218.  
  219.     Regardless, the beginning USENET admin should probably run Cnews
  220.     first since it's so stable, well documented, and has many thousands
  221.     of experienced administrators who can answer questions.
  222.  
  223.     The newspak-2.0.tar.z distribution on sunsite contains working
  224.     config files for Cnews under Linux as well as a couple line patch
  225.     you'll need to make to 'doexplode' to get around some problems with
  226.     bash1.12.  bash1.13 is now available on the various Linux archive
  227.     sites that should help.
  228.  
  229.  
  230. 3.1.1 Installing Cnews
  231.  
  232.     Installing the Performance Release of Cnews is absolutely a 'rtfm'
  233.     project.  Just grab the sources, extract them, and follow the
  234.     instructions.
  235.  
  236.     The build.def in newspak was generated by running 'build' the
  237.     first time and simply looking up the answers by checking out the
  238.     /usr/include files to get the right answers.
  239.  
  240.     When you start the actual compilation, it'll blow up a couple of
  241.     times.  In all cases, you'll need to simply comment out a couple of
  242.     atoi() and atol() macros that gcc doesn't like when your doit.bin
  243.     compilation blows up.  
  244.  
  245.     Also, you need the following tiny change to doexplode to get around
  246.     some bash1.12 bugs or else you won't feed anything downstream...
  247.  
  248.     [...from Steve Robbins -  steve@nyongwa.cam.org ...]
  249.  
  250.     if [ ! -f $f ] ; then continue; fi            # add this line
  251.     #    case "$f" in                            # comment me out
  252.     #    "out.master/[0-9]*")    break ;;    # comment me out
  253.     #    esac                                    # comment me out
  254.  
  255.     Henry Spencer of Cnews fame says that the code in doexplode that is
  256.     currently causing problems with bash is on the list to be revised in
  257.     a future release.
  258.  
  259.     It is uncertain at this time if the need for this patch goes away
  260.     if you switch to the beta bash1.13 now available for Linux.
  261.  
  262. 3.1.2 Configuring Cnews
  263.  
  264.     At the very least, you need to edit the following files that all
  265.     should be in /usr/local/lib/news:
  266.  
  267.         active             - the active file
  268.                 batchparms         - batch parameters
  269.                 explist            - article expiration setup
  270.                 mailname           - name in headers for mailed replies
  271.                 mailpaths          - path to mail moderated postings to
  272.                 organization       - your 'org'
  273.                 sys                - control what you take and feed
  274.                 whoami             - your hostname for the Path: line
  275.  
  276.  
  277. 3.1.3 Maintaining a Cnews Site
  278.  
  279.     First, a significant rule of thumb is to not mess with files
  280.     by hand that have utilities that configure them. In particular
  281.     don't set up newsfeeds (run 'addfeed'instead) and don't mess with
  282.     your active file (run 'addgroup').  When in doubt, read and re-read
  283.     the docs in the source distribution.
  284.  
  285.     Everything else can be done via cron.  My crontab for 'news' looks
  286.     like the following:
  287.  
  288.     # take the compressed batches that came in from other systems
  289.     20 *       * * * /usenet/sw/news/bin/input/newsrun  
  290.  
  291.     # batch 'em up to go out
  292.     0 *       * * * /usenet/sw/news/bin/batch/sendbatches myfeedsite
  293.  
  294.     # expire C-news 
  295.     59 0       * * * /usenet/sw/news/bin/expire/doexpire 
  296.  
  297.     # monitor stuff and report if needed
  298.     10 5 * * * /usenet/sw/news/bin/newsdaily 
  299.     00 5 * * * /usenet/sw/new/bin/newswatch 
  300.  
  301.     # turn processing of incoming news batches off 6:30AM - 4:00 PM
  302.     30 6       * * * /usenet/sw/news/bin/input/newsrunning off 
  303.     00 16       * * * /usenet/sw/news/bin/input/newsrunning on 
  304.  
  305.  
  306. 3.2 InterNetNews (INN)
  307.  
  308.     INN is the newcomer on the scene, but it's gaining popularity as
  309.     it matures.  Its main benefit is speed and the fact that it contains
  310.     an integrated nntp package.  Its main drawback is that it's new and
  311.     that it doesn't necessarily install and run flawlessly on the many
  312.     'standard *nixes' yet.  In addition, it operates by having a daemon
  313.     (the innd) always running plus potentially a overchan daemon to do
  314.     threading.  The tradeoff seems to be memory vs. speed.
  315.  
  316.     New USENET admins should probably not try INN until they have
  317.     experience with either B-news or Cnews.  While it's fast and
  318.     reliable under Linux, it's virtually undocumented for the 
  319.     beginning news administrator (though in practice it's rather
  320.     simple to run once you figure it out).
  321.  
  322.     INN is very particular about its permissions.  Don't mess with them.
  323.  
  324.  
  325. 3.2.1 Installing INN
  326.  
  327.     [... from Arjan de Vet - devet@info.win.tue.nl ...]
  328.  
  329.     I've made a patch + config kit for INN 1.4 to get it to run on Linux.
  330.     It can be found at:
  331.  
  332.     ftp.win.tue.nl:/pub/linux/ports/inn-1.4-linux.tar.gz
  333.  
  334.     INN depends heavily on a good /bin/sh substitute. I use a beta
  335.     version of bash 1.13 that is now available for Linux on the normal
  336.     archive sites.  bash 1.12 gives some small problems with
  337.     newgroups not being handled correctly (maybe some other problems
  338.     too, I don't remember).
  339.  
  340.  
  341. 3.2.2 Configuring INN
  342.  
  343.     Basically follow Arjan's instructions and you'll be all set.
  344.     Here's the summary of what to do:
  345.  
  346.     - In config.data, make sure you have "HAVE_UNIX_DOMAIN    DONT"
  347.     - Add the hostname of the system running innd to hosts.nntp
  348.         (for a uucp-only site, that's your sitename...)
  349.     - Make sure you do not have a line for nntp in /etc/inetd.conf
  350.     - Make sure that you have innshellvars say "HAVE_UUSTAT DO"
  351.         rather than the 'DONT' in his example config.data if you
  352.         have uustat from the Taylor UUCP package installed.  If you
  353.         have this defined wrong, it'll result in no outgoing news
  354.         getting batched.
  355.  
  356.     If you run INN, *definitely* define the recommended syslogd
  357.     stuff because it is very, very helpful.
  358.  
  359.     There is a spectacular (!!!!) FAQ for INN that comes out monthly.
  360.     Look on rtfm.mit.edu for it.  You'll be glad you did.
  361.  
  362.  
  363. 3.2.3 Maintaining a INN Site
  364.  
  365.     I've found that there's essentially zero care-and-feeding of
  366.     a Linux INN site other than having a working 'cron'.  Basically
  367.     you want a crontab that looks something like the following:
  368.  
  369.     # daily maint, also expire the .overview database and articles
  370.     1 0 * * * /usenet/sw/inn/bin/news.daily expireover delayrm < /dev/null
  371.  
  372.     # send 'em out
  373.     5 * * * * /usenet/sw/inn/lib/send-uucp
  374.  
  375.     [ if you switch to bash1.13, the '< /dev/null' above is not needed ]
  376.  
  377.  
  378. 3.3 Other News Transport Agents
  379.  
  380.     The following is a non-inclusive list of other news transport
  381.     software known to work under Linux:
  382.  
  383.                  dynafeed, nntp1.5.11, slurp1.05
  384.  
  385. 4.0 News Readers
  386.  
  387.     There is no 'one true newsreader'.  As a result, there are many
  388.     well-known newsreaders that port easily to Linux in particular.  At
  389.     this writing, 'tin', 'trn', and 'nn' are in the SLS distribution of
  390.     Linux.
  391.  
  392.     When picking a newsreader, you basically want to find something
  393.     that is easy to use, very configurable by the user, with threading
  394.     and kill files (to select interesting articles or make the
  395.     non-interesting ones not appear at all).
  396.  
  397.     You can set your paths to anything you like as long as all the
  398.     newsreaders can find 'inews' from your Cnews or INN installation
  399.     and a 'mail' program to send mail replies to posts.
  400.  
  401.     This section will talk briefly about several of the most popular
  402.     ones.  Before you ask, I use 'nn' for lots of reasons :-)
  403.  
  404.     
  405. 4.1 Tin
  406.  
  407.     Tin is a threaded newsreader generally intended to be easy for new
  408.     users.  It supports kill files and NOV threading.  If you're running
  409.     INN, it will read NOV .overview files by default and not write index
  410.     files.
  411.  
  412.     To compile Tin under linux, basically just edit the makefile to set
  413.     the locations of the software (especially the location of inews)
  414.     and type 'make linux'.  There are no patches required for tin under
  415.     Linux.
  416.  
  417.     For threading, you can basically just say 'tin -u' to update the
  418.     index files.
  419.  
  420.     To enable the ability to read via NNTP, compile with 'NNTP_ABLE'
  421.     defined.  This will result in a file called 'tin' for local and one
  422.     called 'rtin' for NNTP reading.  'tin -r' will also get the same
  423.     behavior as 'rtin'.
  424.  
  425.     Iain Lea recommends the following crontab entry and says that you
  426.     need to do a 'make daemon' to make tind.
  427.  
  428.     # thread the database
  429.     35 * * * * /usenet/bin/tind -u
  430.  
  431.  
  432. 4.2 Trn/Mthreads
  433.  
  434.     trn is a threaded derivative of the 'rn' newsreader.  trn3.3 has
  435.     the nice ability to select either the 'mthreads' (trn's threading
  436.     package) or NOV (threader from INN) threading.
  437.  
  438.     To compile it, just run Configure and take the calculated defaults.
  439.     You might need to have lib4.4.1 and bash-1.13 (there is a beta now
  440.     available on the various Linux archive sites) to successfully run
  441.     Configure.  You'll probably need both bash1.13 and libs4.4.1 to
  442.     get the new Configure to run properly.
  443.  
  444.     The newspak-2.0.tar.z distribution on sunsite contains working
  445.     config files for trn under Linux.
  446.  
  447.     It's probably unwise to try to edit a trn config.sh by hand unless
  448.     you're doing something *VERY* simple like changing the paths to
  449.     fit your tastes.  If you do so, you'll need to run 'Configure -S'
  450.     before you 'make depend', 'make', and 'make install'.
  451.  
  452.     Although 'Configure' fails generally under Linux with bash1.12,
  453.     'Configure -S' work fine so if you take the newspak config.sh as a
  454.     starting point, you'll be very close.
  455.  
  456.     Compiling for NNTP reading is as simple as answering 'yes' when
  457.     Configure asks you if you want to do so (assuming Configure runs
  458.     ok on your system).  A future release of newspak will include a
  459.     config.sh for NNTP reading as well as the existing one for local
  460.     reading for those of us who are still 'bash-impaired' :-)
  461.  
  462.     There are dozens of command line switches for trn to get all kinds
  463.     of behavior.  Read the 'trn' man page for details.  I use a nice
  464.     feature to set all the switches easily:
  465.         - add all the settings in a file called ~/.trnrc
  466.         - export TRNINIT="~/.trnrc"
  467.  
  468.     A future newspak will have my .trnrc file as an example.
  469.  
  470.     trn3.2 and above has support for NOV or mthreads threading
  471.     that's user-selectable.  Accordingly, I recommend building the
  472.     software to allow both threading mechanisms (it's a question in
  473.     Configure).  To pick one at runtime, try 'trn -Zo' for NOV and 'trn
  474.     -Zt' for mthreads.
  475.  
  476.     To build the mthreads database, do something like the following
  477.     in the 'news' crontab:
  478.  
  479.     # thread the trn database
  480.     35 * * * * /usenet/bin/mthreads all
  481.  
  482.     
  483. 4.3 NN
  484.  
  485.     The newspak-2.0.tar.z distribution on sunsite contains working
  486.     config files for nn6.4.18 that you can drop into place and type
  487.     'make' under Linux.  
  488.  
  489.     When you're done compiling, you need to do the following:
  490.         - run the 'inst' program to install things.  
  491.             (install everything)
  492.         - initialize the database
  493.         - fire up nnmaster
  494.  
  495.     See the nn docs for details.  Compiling, configuring, and running
  496.     nn under Linux is no different than running nn on any other *nix
  497.     with the exception that you probably want to run nnmaster as a cron
  498.     entry rather than as a daemon.  If you run it as a daemon under
  499.     linux, it doesn't tend to wake up properly (the net effect of
  500.     running it from cron is the same anyway).
  501.  
  502.     Support of 'nn' is as simple as the following crontab entries:
  503.  
  504.     # run nnmaster to collect 'nn' stuff
  505.     25 * * * * /usenet/sw/nn/lib/nnmaster
  506.  
  507.     # expire the nn database
  508.     0  4       * * * /usenet/sw/nn/bin/nnadmin =EYW 
  509.  
  510.     # stash a copy of the active file for 'nngoback' and keep last 7
  511.     0 3 * * * /usenet/sw/nn/lib/back_act 7 
  512.  
  513.  
  514. 4.4 Other newsreaders
  515.  
  516.     The following is a non-inclusive list of newsreaders said to
  517.     install and run under Linux:
  518.  
  519.         tass, xrn, gnus
  520.  
  521.  
  522. 5.0 Acknowledgements
  523.  
  524.  
  525.     The following people have helped in the assembly of the information
  526.     (and experience) that helped make this document possible:
  527.  
  528.         Ed Carp, Steve Robbins, Ian Taylor, Greg Naber, Matt Welsh,
  529.         Iain Lea, Arjan de Vet 
  530.  
  531.     If I forgot anybody, my apologies...
  532.  
  533. #=============================================================================
  534.  
  535. 6.0 Frequently Asked Questions about USENET (in c.o.l.* anyway...)
  536.  
  537. 6.1 Why can't I post to moderated groups ?
  538.  
  539.     Probably because the newsreader is trying to call /bin/mail to send
  540.     the mail and it doesn't like it.  Replace the /bin/mail in SLS with
  541.     the port of mailx-5.3b.tar.z from the pub/Linux/system/Mail dir on
  542.     sunsite.unc.edu and make it mode 2755 and group mail (like 'elm')
  543.     and you'll be all set.
  544.  
  545.     Another possibility is that you have a moderated newsgroup set up
  546.     on your local system as not-moderated and somebody upstream is
  547.     quietly deleting the article (some system's software, not a
  548.     person).  Make sure you run a 'checkgroups' every now and then when
  549.     the checkgroups article rolls by in news.admin every few weeks.
  550.  
  551.  
  552. 6.2 Why do I have problems that appear to be permission-related ?
  553.  
  554.     Because until very recently, SLS didn't have a 'news' username or
  555.     group in the default passwd/group files.
  556.  
  557.     All the stuff in /usr/local/lib/news should be news.news except
  558.     /usr/local/lib/news/setnewsids which should be setuid root.
  559.  
  560.     You can use whatever UID and GID you want for 'news'.
  561.  
  562.  
  563. 6.3 Why can I post articles locally, but they don't get fed downstream ?
  564.  
  565.     Probably because you didn't call newsrun from cron.  Maybe because
  566.     you edited your sys file and messed it up.  There are examples of
  567.     each in the SLS /usr/local/lib/news directory.  Maybe because you
  568.     don't have a /usr/spool/news/out.going tree or something.
  569.  
  570.     Do not create newsgroups or feeds by editing the active or sys
  571.     files.  Use the utilities in /usr/local/lib/news/bin/maint to do
  572.     it.
  573.  
  574.  
  575. 6.4 Why doesn't SLS have the 'Performance Release' of C-news?
  576.  
  577.     Because it's optional.  Because it has problems under Linux in some
  578.     places.  Because the one in SLS is more stable and plenty fast
  579.     enough on any type of reasonable system (IMHO). If you need any
  580.     more convincing, here's a few excerpts from the C-news README.new
  581.     file:
  582.  
  583.         "This is the 20 Feb 1993 Performance Release of C News, a
  584.         minor update to the 2 May 1992 P.R. that just fixes some
  585.         installation problems and a couple of annoying bugs"...
  586.  
  587.         "This release is more or less a halfway step to what we've
  588.         been calling the "cleanup release"...
  589.  
  590.         "People who are happy with the older C News might want to
  591.         wait for the cleanup release, which is still coming
  592.         although behind schedule"...
  593.  
  594.     Mainly because at the time SLS1.01 came out, the compilers and libs
  595.     didn't like the Performance Release too much.
  596.  
  597.  
  598. 6.5 Why doesn't SLS have nntp ?
  599.  
  600.     Because it's supposed to be plug-n-play under Linux and because I
  601.     didn't want to make SLS's news stuff doubly big by having to
  602.     maintain both nntp and non-nntp versions of the newsreaders and
  603.     news transport programs.  Also because it compiles in localized
  604.     information that is not overridable at runtime via a config file.
  605.  
  606.  
  607. 6.6 Why does doexpire (or relaynews or...) say "severe space shortage" when
  608.     there's lots of room ?
  609.  
  610.     Because it can't read /etc/mtab.  Make it mode 644.  This happens
  611.     when you unmount a mounted filesystem by root with a umask that
  612.     doesn't permit world-read of files owned by root.
  613.  
  614.  
  615. 6.7 Why does everything look normal, but posting doesn't happen ?
  616.  
  617.     Older versions of Linux had a 'broken' sed that C-news was prone
  618.     to blow up.  In particular, if you've installed over an old SLS,
  619.     be sure to check /bin and /usr/bin to be certain you have only
  620.     one copy of sed and that it's a modern one.
  621.  
  622.  
  623. 6.8  Can I hook the new news overview (NOV) stuff into trn/tin/nn to replace
  624.     the various independent thread databases ?
  625.  
  626.     Yes.  trn3.3 supports it now.  The next version of tin will.
  627.     
  628.     You can hook it into the Performance Release of Cnews and various
  629.     other readers as well...
  630.  
  631.     The beta copy of nn6.5 I have here has NOV support and it works just
  632.     dandy under Linux.  I run it here and have nn running without having to
  633.     run nnmaster (!).  Look on uniwa.uwa.edu for a copy of it.
  634.  
  635.  
  636. 6.9  Why can't we have a binary distribution of NNTP ?
  637.  
  638.     Because significant local-only information is compiled-in and 
  639.     cannot be determined auto-magically at runtime.
  640.  
  641.  
  642. 6.10  How do I set up NNTP to allow read/post across the network while *not*
  643.     storing any news articles or databases locally.
  644.  
  645.     [... mdw@sunsite.unc.edu (Matt Welsh) ...]
  646.  
  647.     1) Grab the 'reference implementation' of nntp and a copy or rn
  648.         from your local archive site.  If you connect to ftp.uu.net
  649.         you'd grab:
  650.  
  651.         nntp.1.5.11.tar.Z from ftp.uu.net:/news/nntp
  652.         rn-4.4.pl3.tar.Z from ftp.uu.net:/news/rn
  653.  
  654.     2) compile nntp as follows:
  655.  
  656.         copy common/conf.h.dist to common/conf.h. 
  657.         Edit common/conf.h to set certain options: 
  658.         The only ones I set were: 
  659.  
  660.         DOMAIN: undefine it (i.e. change the line to #undef DOMAIN).
  661.         REALDOMAIN: Define this. It looks up the domain using 
  662.                 the libraries. 
  663.  
  664.         SERVER_FILE: Set this to the name of the file which will
  665.             contain the hostname of the news server (i.e. the
  666.             machine you'll read and post news through). I use
  667.             "/usr/local/lib/news/server".
  668.  
  669.         PASSFILE: If your news server requires authorization (i.e.
  670.             some kind of username/password) to post, set this to
  671.             the name of the file which contains the username and
  672.             password (described below).  I use
  673.             "/usr/local/lib/news/nntppass".
  674.  
  675.     I decided to keep all of the other news stuff in /usr/local/lib/news.
  676.     So I set all of the rest of the pathnames in the file (i.e.
  677.     ACTIVE_FILE, NEWSGROUPS_FILE, etc.) to use /usr/local/lib/news.  Many
  678.     of these files are only used by the NNTP server, not the client, but
  679.     to be safe I changed them all to point to the right directory. You can
  680.     of course use the default pathnames; just make sure you create the
  681.     directory accordingly.
  682.  
  683.     3) Create the user "usenet" if you haven't already. The inews program
  684.     runs as this user. All you need is a userid; you don't need a home
  685.     directory or shell or anything for the user. Just plop the following
  686.     line into your /etc/passwd:
  687.  
  688.                 usenet:*:13:1::/:
  689.  
  690.     Make sure you set the userid ("13", above) to something unique. The
  691.     group can be anything; I use "daemon" (gid 1).
  692.  
  693.     4) Create the SERVER_FILE, above. For example, my news server is
  694.     "wonton.tc.cornell.edu", so I created the file
  695.     /usr/local/lib/news/server which contained one line:
  696.          wonton.tc.cornell.edu
  697.  
  698.     5) Create the PASSFILE. This file contains lines of the form
  699.         <server name> <username> <password>
  700.  
  701.     Let's say that your news server (the one in SERVER_FILE, above) is
  702.     "shoop.vpizza.com", and to post on that machine you need to be
  703.     authorized as the user "news" with a password of "floof". Thus, in the
  704.     PASSFILE (I use /usr/local/lib/news/nntppass), you need the line
  705.         shoop.vpizza.com news floof
  706.  
  707.     6) Make this file secure! The inews program runs as the user "usenet",
  708.     so make this news directory owned by that user and the nntppass file
  709.     as well.
  710.  
  711.     chown usenet /usr/local/lib/news 
  712.     chmod 755 /usr/local/lib/news 
  713.     chown usenet /usr/local/lib/news/nntppass 
  714.     chmod 600 /usr/local/lib/news/nntppass 
  715.  
  716.     So nobody else can read this file. No, the passwords in it are not
  717.     encrypted.
  718.  
  719.     7) Go back to the nntp.1.5.11 source directory; issue "make client".
  720.     At this point you'll build the NNTP version of inews, which is the
  721.     only software used by the NNTP client.
  722.  
  723.     When I built inews, there was a bug in the library which caused the
  724.     function uname() in uname.c to call itself eternally. This should be
  725.     gone now; however, if inews seems to hang and your system starts
  726.     slowing down *a lot* you should rename the function "uname()" in
  727.     uname.c to something like "my_uname()", and change the calls to it (in
  728.     inews.c) to call my_uname() instead. Mail me if you run into this
  729.     problem. 
  730.         [...VDS note - this means mail to Matt...not me :-) ...]
  731.  
  732.     8) Issue "make install_client". This will install the inews stuff.
  733.     Also make the link /usr/local/lib/news/inews -> /usr/local/bin/inews
  734.  
  735.     Now you should be able to happily post (by hand). Try something like
  736.     the following:
  737.  
  738.         $ inews -h << EOF
  739.         Newsgroups: misc.test
  740.         From: me@foo.bar.com
  741.         Subject: Testing
  742.         Reply-To: my-real-address@wherever.edu
  743.  
  744.         This is a test.
  745.         EOF
  746.  
  747.     If this works, inews should post the article. You'll know because
  748.     test-responders on misc.test will reply to the address on the Reply-To
  749.     line, above. Please don't do test postings on real groups, like c.o.l.
  750.     :)
  751.  
  752.  
  753. 6.11 How do I build 'rrn' as a nntp-based newsreader/poster ?
  754.  
  755.     [... mdw@sunsite.unc.edu (Matt Welsh) ...]
  756.  
  757.     1. cd to the rn source directory and do "./Configure". For almost all
  758.     the questions, take the defaults (it's very smart).  Make sure you
  759.     have a link to "cpp" (usually in /usr/lib/gcc-lib/i386-linux/2.3.3) in
  760.     /lib, so rn can find it.
  761.  
  762.     - Don't panic if it says you're on a NeXT or a USG system. Just go
  763.     with the flow...
  764.  
  765.     - Answer "y" to "Do you expect to run these scripts and binaries on
  766.     multiple machines?"
  767.  
  768.     - For your domain name: if your system is, say, "foo.bar.com", answer
  769.     with just "bar.com" (the domain, not the entire hostname).
  770.  
  771.     - Answer "usenet" for the name of the user which is the news admin.
  772.  
  773.     - For "Where is your news library?" use the directory where the above
  774.     NNTP files are kept: I use /usr/local/lib/news.
  775.  
  776.     - Man page source is in /usr/man/man1.
  777.  
  778.     - Answer "y" to "Does your /etc/passwd file keep full names in
  779.     Berkeley/V7 format?"
  780.  
  781.     - Answer "gcc" to the name of the compiler which forces resolution.
  782.  
  783.     - Answer "y" to "Do you want to build the NNTP version of rn (rrn)?"
  784.  
  785.     - For the name of the news server file: use the same name you used
  786.     when building inews, above (for me, /usr/local/lib/news/server).
  787.  
  788.     Don't run makedepend yet! Go to the next step:
  789.  
  790.     2) Edit config.h. Change the "#define ROOTID ..." line to
  791.         #define ROOTID 0
  792.     if it isn't already. 
  793.  
  794.     3) In rrn-4.4.pl3, there is a small bug with SIGEMT: it doesn't exist
  795.     on Linux. rn used SIGEMT to check if a process is still running;
  796.     however, under POSIX.1 we can instead just send the process a 
  797.     signal 0.
  798.  
  799.     Edit init.c. On line 243, note the following:
  800.         if (kill(processnum, SIGEMT)) {
  801.     Change this to
  802.         if (kill(processnum, 0)) {
  803.  
  804.     You may wish to #ifdef it out instead; it's up to you. Don't just define
  805.     SIGEMT to be zero; this will break the sigignore() call in final.c.
  806.  
  807.     4) Issue "makedepend > makedepend.out". 
  808.  
  809.     5) Issue "make". Rn should compile happily.
  810.  
  811.     6) Issue "make install". 
  812.  
  813.     You're all set. Keep in mind that rn does in fact eat a lot of memory
  814.     (as does any newsreader), handling the newsgroups file. So when you 
  815.     first run rn, it might be a little slow building your .newsrc and
  816.     checking for new groups. If you're impatient, copy a .newsrc from
  817.     somewhere else and use that.
  818.  
  819.